﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Linq;

namespace YAPL.Language.SourceParser.XML {
	/// <summary>
	/// Provides set of constants for xml node names.
	/// </summary>
	public class XmlNames {
		public const string ProgramDefExpression = "program_def";
		public const string FunctionDefExpression = "function_def";
		public const string FunctionCallExpression = "function_call";

		public const string CallingObjectExpression = "calling_object";
		public const string ArgumentsExpression = "arguments";

		public const string AssignmentExpression = "assignment";
		public const string AssignmentLeftExpression = "left";
		public const string AssignmentRightExpression = "right";

		public const string BinaryExpression = "binary";
		public const string BinaryLeftExpression = "left";
		public const string BinaryRightExpression = "right";
		public const string BinaryOperatorAttribute = "operator";

		public const string UnaryExpression = "unary";
		public const string UnaryOperatorAttribute = "operator";


		public const string IdentifierNameAttribute = "name";



		public const string VariableExpression = "variable";
		public const string InstanceVariableExression = "instance_variable";
		public const string ClassReferenceExression = "class_reference";

		public const string ClassDefExpression = "class_def";
		public const string ClassNameAttribute = "name";

		public const string ConstantExpression = "constant";

		public const string ParameterExpression = "param";
		public const string ParameterDefault = "default";

		public const string CodeBlockExpression = "code_block";

		public const string ReturnExpression = "return";

		public const string FunctionNameAttribute = "name";
		public const string ParametersExpression = "parameters";
		public const string FunctionCallNameAttribute = "method";

		public const string ConstantValueAttribute = "value";

		public const string ConditionalExpression = "if";
		public const string ConditionalConditionExpression = "condition";
		public const string ConditionalThenExpression = "then";
		public const string ConditionalElseExpression = "else";

		public const string WhileExpression = "while";
		public const string WhileConditionExpression = "condition";
		public const string WhileBodyExpression = "body";
	}
}
